// pages/course/course.js
const app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    bannerList: [], // 轮播图数据
    courseList: [], // 课程列表
    pageNum: 1,
    pageSize: 10,
    total: 0,
    loading: false,
    hasMore: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('页面加载')
    this.getList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    console.log('2. onReady 触发')
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    console.log('3. onShow 触发')
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    console.log('4. onHide 触发')
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    console.log('5. onUnload 触发')
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    console.log('下拉刷新')
    this.setData({ 
      pageNum: 1,
      courseList: [],
      hasMore: true
    })
    this.getList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    console.log('触底加载')
    if (this.data.loading || !this.data.hasMore) {
      return
    }
    this.setData({ 
      pageNum: this.data.pageNum + 1 
    })
    this.getList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 跳转到课程详情页
  navigateToCourseDetail(e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/course/PsychologicalCounselorCourse/Psychological Counselor Course?id=${id}`
    });
  },

  // 获取课程列表
  getList() {
    if (this.data.loading) return
    
    this.setData({ loading: true })
    console.log('开始请求数据，页码：', this.data.pageNum)

    wx.request({
      url: app.globalData.URL + '/courseHomepage/getCourseOrderBy',
      data: {
        pageNum: this.data.pageNum,
        pageSize: this.data.pageSize
      },
      success: (res) => {
        console.log('请求成功：', res.data)
        if (res.data.code === 1) {
          const list = res.data.data.list || []
          
          // 处理图片路径
          list.forEach(item => {
            if (item.tabularchart) {
              item.tabularchart = app.globalData.losthost + item.tabularchart
            }
          })

          if (this.data.pageNum === 1) {
            // 第一页，直接设置数据
            this.setData({
              bannerList: list.slice(0, 4),
              courseList: list
            })
          } else {
            // 不是第一页，追加数据
            this.setData({
              courseList: this.data.courseList.concat(list)
            })
          }

          // 判断是否还有更多数据
          if (list.length < this.data.pageSize) {
            this.setData({ hasMore: false })
            wx.showToast({
              title: '没有更多课程了',
              icon: 'none',
              duration: 2000
            })
          }
        }
      },
      fail: (err) => {
        console.error('请求失败：', err)
        wx.showToast({
          title: '加载失败，请重试',
          icon: 'none'
        })
      },
      complete: () => {
        this.setData({ loading: false })
        wx.stopPullDownRefresh()
      }
    })
  }
})